namespace ext.tree
{
	using System;
	using System.Runtime.CompilerServices;
	using System.Html;
	using System.Collections;
	
	
	/// <summary>Note this class is experimental and doesn&apos;t update the indent (lines) or expand collapse icons of the nodes</summary>
	/// <definedin>src\widgets\tree\TreeFilter.js</definedin>
	[ScriptName("TreeFilter")]
	[ScriptNamespace("Ext.tree")]
	[Imported()]
	public partial class TreeFilter
	{
		
		#region Methods
		/// <summary>
		/// Clears the current filter. Note: with the &quot;remove&quot; option
		/// set a filter cannot be cleared.
		/// </summary>
		/// <definedin>src\widgets\tree\TreeFilter.js</definedin>
		[ScriptName("clear")]
		public void Clear()
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Filter the data by a specific attribute.</summary>
		/// <definedin>src\widgets\tree\TreeFilter.js</definedin>
		/// <param name="value">
		/// Either string that the attribute value
		/// should start with or a RegExp to test against the attribute
		/// </param>
		/// <param name="attr">The attribute passed in your node&apos;s attributes collection. Defaults to &quot;text&quot;.</param>
		/// <param name="startNode">The node to start the filter at.</param>
		[ScriptName("filter")]
		public void Filter(string value, string attr, ext.tree.TreeNode startNode)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Filter the data by a specific attribute.</summary>
		/// <definedin>src\widgets\tree\TreeFilter.js</definedin>
		/// <param name="value">
		/// Either string that the attribute value
		/// should start with or a RegExp to test against the attribute
		/// </param>
		/// <param name="attr">The attribute passed in your node&apos;s attributes collection. Defaults to &quot;text&quot;.</param>
		/// <param name="startNode">The node to start the filter at.</param>
		[ScriptName("filter")]
		public void Filter(System.RegularExpression value, string attr, ext.tree.TreeNode startNode)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Filter the data by a specific attribute.</summary>
		/// <definedin>src\widgets\tree\TreeFilter.js</definedin>
		/// <param name="value">
		/// Either string that the attribute value
		/// should start with or a RegExp to test against the attribute
		/// </param>
		/// <param name="attr">The attribute passed in your node&apos;s attributes collection. Defaults to &quot;text&quot;.</param>
		[ScriptName("filter")]
		public void Filter(string value, string attr)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Filter the data by a specific attribute.</summary>
		/// <definedin>src\widgets\tree\TreeFilter.js</definedin>
		/// <param name="value">
		/// Either string that the attribute value
		/// should start with or a RegExp to test against the attribute
		/// </param>
		/// <param name="attr">The attribute passed in your node&apos;s attributes collection. Defaults to &quot;text&quot;.</param>
		[ScriptName("filter")]
		public void Filter(System.RegularExpression value, string attr)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Filter the data by a specific attribute.</summary>
		/// <definedin>src\widgets\tree\TreeFilter.js</definedin>
		/// <param name="value">
		/// Either string that the attribute value
		/// should start with or a RegExp to test against the attribute
		/// </param>
		[ScriptName("filter")]
		public void Filter(string value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>Filter the data by a specific attribute.</summary>
		/// <definedin>src\widgets\tree\TreeFilter.js</definedin>
		/// <param name="value">
		/// Either string that the attribute value
		/// should start with or a RegExp to test against the attribute
		/// </param>
		[ScriptName("filter")]
		public void Filter(System.RegularExpression value)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Filter by a function. The passed function will be called with each
		/// node in the tree (or from the startNode). If the function returns true, the node is kept
		/// otherwise it is filtered. If a node is filtered, its children are also filtered.
		/// </summary>
		/// <definedin>src\widgets\tree\TreeFilter.js</definedin>
		/// <param name="fn">The filter function</param>
		/// <param name="scope">The scope (<c>this</c> reference) in which the function is executed. Defaults to the current Node.</param>
		[ScriptName("filterBy")]
		public void FilterBy(System.Delegate fn, object scope)
		{
			throw new System.Exception("Imported - not implemented");
		}
		
		/// <summary>
		/// Filter by a function. The passed function will be called with each
		/// node in the tree (or from the startNode). If the function returns true, the node is kept
		/// otherwise it is filtered. If a node is filtered, its children are also filtered.
		/// </summary>
		/// <definedin>src\widgets\tree\TreeFilter.js</definedin>
		/// <param name="fn">The filter function</param>
		[ScriptName("filterBy")]
		public void FilterBy(System.Delegate fn)
		{
			throw new System.Exception("Imported - not implemented");
		}
		#endregion
	}
}
